The use of digital waveguide networks for digital signal processing and musical synthesis is disclosed in U.S. Pat. No. 4,984,276, which teaches the use of digital processors having digital waveguide networks for digital reverberation and for synthesis of musical sounds such as those associated with reed and string instruments.
The present invention is an extension or specific implementation of the digital waveguide networks disclosed in U.S. Pat. No. 4,984,276. In particular, the inventors have found that a two-dimensional matrix of digital waveguides interconnected by four-way scattering junctions is an extremely efficient method for modeling wave propagation in a membrane or in an acoustic plane.
The traveling wave solution to the wave equation for an ideal string or acoustic tube can be modeled efficiently using Digital Waveguides. In the Digital Waveguide, two arbitrary traveling waves propagate independently in their respective left and right directions, while the physical wave amplitude at any point may be obtained by summing the left- and right-going waves. The simplicity with which the waveguide formulation plugs into linear systems and network theory has driven research in physical modeling. Many applications of the one-dimensional digital waveguide are known. Motivation for the two-dimensional digital waveguide mesh, as presented here, is found in applications to drums, soundboards, gongs, pianos, and other acoustic constructs where a one-dimensional model is less desirable.
In the two dimensional membrane case, the traveling wave solution involves the integral sum of an infinite number of arbitrary plane waves traveling in all directions: EQU u.sup.tt (t,x,y)=c2 [ux.sup.x( t,x,y)+u.sup.yy (t,x,y)] EQU u(t,x,y)=.intg.f.alpha.(xcos.alpha.+ysin.alpha..+-.ct)d.alpha.
Finite element and difference equation methods are known which can help with the numerical solution to this problem. However, these methods have had two drawbacks: (1) their heavy computational time is orders of magnitude beyond reach of real time, and (2) traditional problem formulations fit only awkwardly into the physical model arena of linear systems, filters, and network interactions.
Proposed in this document is a formulation of the N-dimensional wave equation in terms of a network of bi-directional delay elements and multi-port scattering junctions. The essential structure of the two-dimensional membrane case is a layer of parallel vertical waveguides superimposed on a layer of parallel horizontal waveguides intersecting each other at 4-port scattering junctions between each bi-directional unit delay. The 4-port junctions may be implemented with no multiplies in the equal impedance case, greatly reducing computation cost. FIG. 1 shows three snapshots of a wave propagating in the 2-D mesh excited with the initial deflection shown.
If we view the mesh as a lattice of interconnected vibrating strings, the displacement velocities at the four ports of each junction must be equal, and the forces at each junction must sum to zero; in this case, we have series scattering junctions with force or velocity waves traveling in the two-port, bi-directional unit delays. On the other hand, if we view the mesh as a lattice of interconnected acoustic tubes, the pressures at each junction must be equal, and the flows into each junction must sum to zero; in this case, we have parallel scattering junctions with pressure or volume velocity waves traveling through the delay units.
Since the waveguide mesh is a linear system, any losses modeled in the bi-directional delay elements can be pushed around the system and consolidated as desired. The waveguide mesh assumes nothing about its boundary conditions or initial values, and combines in a straightforward way with other filter and waveguide system elements. In addition, it is well-suited for parallel processor implementation: The scattering junction computations may be performed in any order in a first pass; then the delays may be performed in any order in a second pass. The waveguide mesh extends easily to the three- and N-dimensional cases.
The two-dimensional waveguide mesh is mathematically equivalent to the standard second-order difference equation in the lossless case, where the time and spatial sampling interval are taken to be equal and the speed of wave propagation is taken to be 20.5 spatial samples per time sample: EQU ul,m(n)+ul,m(n-2)=0.5[ul,m+1(n-1)+ul,m-1(n-1)]+0.5[ul+1,m(n-1)+ul-1,m(n-1)]
where l and m index the spatial samples and n indexes time.
However, the numerical solution methods of initial value problems involving second order hyperbolic partial difference equations usually require a multi-step time scheme which retains values for at least two previous time frames. The waveguide mesh reduces this structure to a one-step time scheme where each new time frame may be computed wholly from the previous time frame. This is made possible by the use of traveling wave components in place of physical wave variables.
Since most signal synthesizers are implemented using either general purpose computers or digital data processors, or special purpose digital signal processors, computational efficiency is always a concern. In general purpose computers, multiplication usually takes longer than addition. When using digital signal processors, while multiplication can be performed in the same amount of time (e.g., one CPU clock cycle) as an addition, multiplier circuits consume considerably more space than adders, and therefore having multiple parallel multiplier circuits for vector data processing is much more expensive than having a similar number of parallel adders. The object of the present invention is to provide a real time two-dimensional traveling wave signal synthesizer that is computationally efficient.